In many storage systems, target devices have priority when transmitting frames over a host when there is a collision. In these cases, when queuing commands (e.g. using First Party Direct Memory Access, etc.), once the target has sent a direct memory access (DMA) setup frame information structure (FIS) to enter the data phase, the host can not typically send any commands to the target device.
If the drive is able to fetch data quickly, then the host could send a number of commands equal to the maximum queue depth to the drive. The drive may then return a DMA setup, data, a DMA setup, data, etc. without any breaks between the frames. This does not allow the host to send any more commands.
In these cases, the queue depth of the drive may oscillate from a maximum queue depth to zero, back to the maximum queue depth, and again to zero. This may negatively affect performance. There is thus a need for addressing these and/or other issues associated with the prior art.